home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 106 / 106.d81 / star calendar (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  7KB  |  231 lines

  1. 50 dv=peek(186):ifdv<8ordv>15thendv=8
  2. 60 sys57812"cal ml",dv,0:poke780,0:poke781,0:poke782,192:sys65493
  3. 70 poke56,60:clr:poke788,52
  4. 80 dv=peek(186):ifdv<8ordv>15thendv=8
  5. 90 dimm(365),mn$(11)
  6. 100 def fn lb(x)=x-(int(x/256)*256):def fn hb(x)=int(x/256)
  7. 110 gosub1000:sys ml+33:dn=0:gosub5500:gosub5400:dn=1:gosub1200:gosub1350
  8. 130 geta$:ifa$=""thengosub1300:ch=ch+1:goto160
  9. 135 ifa$="[145]"thengosub1300:ch=ch-1:goto160
  10. 140 ifa$="[157]"thengosub3500:goto130
  11. 143 ifa$=""thengosub3000:goto130
  12. 145 ifa$=" "ora$=chr$(13)then200
  13. 150 goto130
  14. 160 ifch=0thench=14
  15. 170 ifch>14thench=1
  16. 180 gosub1350
  17. 190 goto130
  18. 200 ifch=16then900
  19. 205 ifch>8then220
  20. 210 onchgosub5000,5100,5200,5300,5500,5400,8500,8000:goto130
  21. 220 onch-8gosub6000,7000,9000,8100,8200,900:goto130
  22. 899 rem end
  23. 900 ifem=1thengosub1700:ifa$="[206]"ora$="n"then130
  24. 910 poke788,49:goto40000
  25. 999 rem init vars
  26. 1000 poke53280,0:poke53281,0:print"[147][154]"
  27. 1010 ml=49152:mv=16750:pd=4:ch=1:d=1:y=1993:m=1:em=0
  28. 1020 forx=0to365:m(x)=0:next
  29. 1030 mn$(0)="[202]anuary":mn$(1)="[198]ebruary":mn$(2)="[205]arch":mn$(3)="[193]pril"
  30. 1040 mn$(4)="[205]ay":mn$(5)="[202]une":mn$(6)="[202]uly":mn$(7)="[193]ugust"
  31. 1050 mn$(8)="[211]eptember":mn$(9)="[207]ctober":mn$(10)="[206]ovember":mn$(11)="[196]ecember"
  32. 1090 return
  33. 1099 rem set yy & mm to next month
  34. 1100 ifm<12thenmm=m+1:yy=y:return
  35. 1110 mm=1:yy=y+1:ifyy=2100thenyy=1901
  36. 1120 return
  37. 1149 rem set yy & mm to prior month
  38. 1150 ifm>1thenmm=m-1:yy=y:return
  39. 1160 mm=12:yy=y-1:ifyy=1900thenyy=2099
  40. 1170 return
  41. 1199 rem main screen
  42. 1200 pokemv,3:pokemv+1,22:pokemv+2,0:pokemv+3,1:pokemv+4,6:pokemv+5,14:sysml+9
  43. 1220 print"[154] [157][211][157][212][157][193][157][210][157] [157][195][157][193][157][204][157][197][157][206][157][196][157][193][157][210][157] ";
  44. 1225 pokemv,13:pokemv+1,10:pokemv+2,27:pokemv+3,0:pokemv+4,6:pokemv+5,14
  45. 1230 poke646,14:sys ml+9:a$(0)=" [206]ext [205]onth":a$(1)=" [208]rev [205]onth"
  46. 1235 a$(2)=" [206]ext [217]ear ":a$(3)=" [208]rev [217]ear ":a$(5)=" [211]et [205]onth "
  47. 1237 a$(4)=" [211]et [217]ear  "
  48. 1240 a$(6)=" [211]et [196]ate  ":a$(7)=" [197]dit [196]ate ":print""
  49. 1250 forx=0to7:printtab(28)""a$(x):next
  50. 1255 pokemv,13:pokemv+1,8:pokemv+2,27:pokemv+3,15:pokemv+4,6:pokemv+5,14
  51. 1260 sys ml+9:a$(0)=" [204]oad [217]ear ":a$(1)=" [211]ave [217]ear ":a$(2)=" [208]rint [195]al "
  52. 1265 a$(3)=" [208]rinter"+str$(pd)
  53. 1270 a$(4)=" [196]rive "+str$(dv)
  54. 1275 a$(5)=" [209]uit     "
  55. 1280 poke214,15:print:forx=0to5:printtab(28)""a$(x):next
  56. 1285 pokemv,35:pokemv+1,4:pokemv+2,4:pokemv+3,11:pokemv+4,14:pokemv+5,15
  57. 1290 sys ml+15
  58. 1291 ifz6then1400
  59. 1292 poke214,11:print:printtab(8)"[155][195][210][211][210] [213][208]/[196][207][215][206] - [205]ove [195]ursor
  60. 1293 [153][163]7)"len(NULL)(NULL)(NULL) (NULL)right$chr$left$(NULL)/(NULL)valasc(NULL) - lenhange str$ay":z7[178]0:z6[178]1
  61. 1294 z7[178]z7[170]1:[161]a$:[139]a$[178]""[175]z7[179]400[167]1294
  62. 1295 [137]1400
  63. 1299 [143] unhghlt sel
  64. 1300 [151]mv,ch:[151]mv[170]1,14:[158] ml[170]12:[142]
  65. 1349 [143] hghlt sel
  66. 1350 [151]mv,ch:[151]mv[170]1,15:[158] ml[170]12:[142]
  67. 1399 rm put 2 m[145]ths [145] scr
  68. 1400 [139]dn[178]0[167][142]
  69. 1403 x[178]0:[139]y[178]ey[167]x[178]1
  70. 1405 [151]mv,22:[151]mv[170]1,10:[151]mv[170]2,4:[151]mv[170]3,0:[151]mv[170]4,3:[151]mv[170]5,3:[158] ml[170]9
  71. 1410 [151]646,3:[151]mv,[165] lb(y):[151]mv[170]1,[165] hb(y):[151]mv[170]3,m:[151]mv[170]4,1
  72. 1415 [151]mv[170]6,x:[158] ml
  73. 1420 [151]mv,22:[151]mv[170]1,10:[151]mv[170]2,4:[151]mv[170]3,15:[151]mv[170]4,13:[151]mv[170]5,13
  74. 1430 [158] ml[170]9:[141]1100:[151]646,13
  75. 1440 [151]mv,[165] lb(yy):[151]mv[170]1,[165] hb(yy):[151]mv[170]3,mm:[151]mv[170]4,16
  76. 1445 x[178]0:[139]yy[178]ey[167]x[178]1
  77. 1450 [151]mv[170]6,x:[158] ml
  78. 1460 [137]1600
  79. 1499 [143] get number @ (px,py)
  80. 1500 dt[178]0:ng[178]0
  81. 1505 [151]214,py:[151]211,px:[153]"on";:c[178]0:b$[178]"":[151]204,0
  82. 1510 [161]a$:[139]a$[178]""[167]1510
  83. 1515 [139]a$[179][177][199](20)[167]1540
  84. 1520 [139]c[179][178]0[167]1510
  85. 1525 [139][202](b$,c,1)[178]"."[167]dt[178]0
  86. 1530 c[178]c[171]1:b$[178][200](b$,c):[151]214,py:[151]211,px:[153]"on";:[153]b$"  cmdcmd";
  87. 1535 [137]1510
  88. 1540 [139](a$[177][178]"0"[175]a$[179][178]"9")[167]1570
  89. 1550 [139][168](a$[178]"-"[175]c[178]0[175][168]ng)[175]a$[179][177][199](13)[175][168](a$[178]"."[175][168]dt)[167]1510
  90. 1560 [139]a$[178][199](13)[167]1590
  91. 1570 [139]c[179]ln[167][153]a$;:b$[178]b$[170]a$:c[178]c[170]1:[139]a$[178]"."[167]dt[178][171]1
  92. 1580 [137]1510
  93. 1590 [151]204,1:[142]
  94. 1599 [143] print date header & app. info.
  95. 1600 [151]646,14:[151]mv,[165] lb(y):[151]mv[170]1,[165] hb(y):[151]mv[170]3,m:[151]mv[170]5,d
  96. 1610 [151]199,1:[158] ml[170]18:[151]199,0
  97. 1620 [151]mv,[165] lb(y):[151]mv[170]1,[165] hb(y):[151]mv[170]3,m:[151]mv[170]5,d:[151]646,15
  98. 1630 [139]y[178]ey[167][158] ml[170]30:[142]
  99. 1640 [158] ml[170]39:[142]
  100. 1699 [143] change in unsaved year prompt
  101. 1700 [151]204,1:[151]646,7:[158] ml[170]3:[151]214,10:[153]
  102. 1710 [153][163]11)"list(NULL)ear"ey"(NULL)odified":[153][163]11)"lenhanges not saved!"
  103. 1720 [153][163]13)"lenontinue? (ylist/nlist)"
  104. 1730 [161]a$:[139]a$[179][177]"(NULL)"[175]a$[179][177]"y"[175]a$[179][177]"(NULL)"[175]a$[179][177]"n"[167]1730
  105. 1740 [158] ml[170]6:[142]
  106. 2999 [143] next day
  107. 3000 d[178]d[170]1:[139]d[179]29[167]3040
  108. 3010 [151]mv,[165] lb(y):[151]mv[170]1,[165] hb(y):[151]mv[170]3,m:[158] ml[170]21:x[178][194](780)
  109. 3020 [139]d[179][178]x[167]3040
  110. 3030 d[178]1
  111. 3040 [151]mv,[165] lb(y):[151]mv[170]1,[165] hb(y):[151]mv[170]3,m:[151]mv[170]5,d
  112. 3050 [137]1600
  113. 3499 [143] prev day
  114. 3500 d[178]d[171]1:[139]d[177]0[167]3040
  115. 3510 [151]mv,[165] lb(y):[151]mv[170]1,[165] hb(y):[151]mv[170]3,m:[158] ml[170]21:d[178][194](780)
  116. 3520 [137]3040
  117. 4999 [143] next month
  118. 5000 [141]1100:y[178]yy:m[178]mm:d[178]1:[137]1400
  119. 5099 [143] prev month
  120. 5100 [141]1150:y[178]yy:m[178]mm:d[178]1:[137]1400
  121. 5199 [143] next year
  122. 5200 y[178]y[170]1:d[178]1:[139]y[178]2100[167]y[178]1901
  123. 5210 [137]1400
  124. 5299 [143] prev year
  125. 5300 y[178]y[171]1:d[178]1:[139]y[178]1900[167]y[178]2099
  126. 5310 [137]1400
  127. 5399 [143] set month
  128. 5400 [151]204,1:[151]646,7:[158] ml[170]3:[151]214,11:[153]
  129. 5410 [153][163]13)"list(NULL)onth (1-12list):   ":py[178]12:px[178]26:ln[178]2:dt[178][171]1:ng[178][171]1
  130. 5420 [141]1505:x[178][181]([197](b$)):[158] ml[170]6
  131. 5430 [139]x[179]1[176]x[177]12[167][142]
  132. 5440 m[178]x:d[178]1:[137]1400
  133. 5499 [143] set year
  134. 5500 [151]204,1:[151]646,7:[158] ml[170]3:[151]214,11:[153]
  135. 5510 [153][163]13)"listvalnter (NULL)ear:     ":py[178]12:px[178]24:ln[178]4:dt[178][171]1:ng[178][171]1
  136. 5515 [153][163]13)"(1901-2099list)"
  137. 5520 [141]1505:x[178][181]([197](b$)):[158] ml[170]6
  138. 5530 [139]x[179]1901[176]x[177]2099[167][142]
  139. 5540 y[178]x:d[178]1:[137]1400
  140. 5999 [143] load year
  141. 6000 [139]em[178]1[167][141]1700:[139]a$[178]"(NULL)"[176]a$[178]"n"[167][142]
  142. 6010 [159]15,dv,15:[159]1,dv,2,"calendar."[170][201]([196](y),4)[170]",l,"[170][199](66)
  143. 6020 [141]7500:[139]en[177]0[167][141]7700:[160]1:[160]15:[142]
  144. 6030 r[178]367:[141]7600
  145. 6040 [141]7500:[139]en[177]0[167][141]7700:[160]1:[160]15:[142]
  146. 6050 [158] ml[170]33:[151]204,1:[151]646,7:[158] ml[170]3:[151]214,11:[153]
  147. 6060 [153][163]14)"list(NULL)oading str$ata":em[178]0
  148. 6070 [129]x[178]1[164]366:m(x[171]1)[178]0:[151]mv,[165] lb(x):[151]mv[170]1,[165] hb(x)
  149. 6080 [158] ml[170]45:[130]:[141]7500:[158] ml[170]6
  150. 6090 [139]em[177]0[167][141]7700
  151. 6100 [160]1:[160]15:ey[178]y:[137]1400
  152. 6999 [143] save year
  153. 7000 [139]ey[179][177]y[175]em[178]1[167]7200
  154. 7005 [159]15,dv,15:[159]1,dv,2,"calendar."[170][201]([196](y),4)[170]",l,"[170][199](66)
  155. 7010 [141]7500:[139]en[177]0[167][141]7700:[160]1:[160]15:[142]
  156. 7020 r[178]367:[141]7600
  157. 7030 [141]7500:[139]en[177]0[175]en[179][177]50[167][141]7700:[160]1:[160]15:[142]
  158. 7040 [139]en[179][177]50[167]7100
  159. 7050 [151]204,1:[151]646,7:[158] ml[170]3:[151]214,11:[153]
  160. 7060 [153][163]11)"listlenreating str$ata ascile":r[178]367:[141]7600:[141]7600
  161. 7070 [141]7500:[139]en[177]1[175]en[179][177]50[167][158] ml[170]6:[141]7700:[160]1:[160]15:[142]
  162. 7080 [152]1,[199](255);:[141]7500:[158] ml[170]6:[139]en[178]0[167]7100
  163. 7090 [141]7700:[160]1:[160]15:[142]
  164. 7100 [151]204,1:[151]646,7:[158] ml[170]3:[151]214,11:[153]
  165. 7110 [153][163]14)"list(NULL)aving str$ata"
  166. 7120 [129]x[178]1[164]366:[139]m(x[